<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const p1 = new Promise((resolve,reject) =>{
           try{
               console.log("开始请求A...")
               throw new Error("网络出现问题...")
               setTimeout(() => {
                   console.log("数据请求成功");
                   resolve({
                       token:"hskahdoqwhdlkash"
                   })
               }, 3000)
           } 
           catch (e){
               reject(e.message)
           }
        })

        p1.then(value =>{
            
        })

        /*
        catch方法：
            -当调用catch方法的promise实例变为失败状态,则会执行catch中的回调函数
            -catch的作用和then方法的第二个回调函数的作用一致
            -catch方法的返回值和then方法的返回值规则保持一致
        */ 

        const p2 = p1.catch(reason =>{
            return new Promise((resolve,reject) =>{

            })
        })
        console.log("p2",p1);
    </script>
</body>
</html>